package com.fastbee.iot.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;

/**
 * 固件升级任务对象 iot_firmware_task
 * 
 * @author kerwincui
 * @date 2022-10-24
 */
@ApiModel(value = "FirmwareTask", description = "固件升级任务对象 iot_firmware_task")
public class FirmwareTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 任务名称 */
    @ApiModelProperty("任务名称")
    @Excel(name = "任务名称")
    private String taskName;

    /** 关联固件ID */
    @ApiModelProperty("关联固件ID")
    @Excel(name = "关联固件ID")
    private Long firmwareId;

    /** 1:指定设备 2:产品级别 */
    @ApiModelProperty("1:指定设备 2:产品级别")
    @Excel(name = "1:产品固件版本 2:指定设备")
    private Long upgradeType;

    /** $column.columnComment */
    @ApiModelProperty("任务描述")
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String taskDesc;

    /** 选中的设备总数 */
    @ApiModelProperty("选中的设备总数")
    @Excel(name = "选中的设备总数")
    private Long deviceAmount;

    /** $column.columnComment */
    @ApiModelProperty("逻辑删除")
    private Long delFlag;

    /** 预定时间升级 */
    @ApiModelProperty("预定时间升级")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预定时间升级", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bookTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTaskName(String taskName) 
    {
        this.taskName = taskName;
    }

    public String getTaskName() 
    {
        return taskName;
    }
    public void setFirmwareId(Long firmwareId) 
    {
        this.firmwareId = firmwareId;
    }

    public Long getFirmwareId() 
    {
        return firmwareId;
    }
    public void setUpgradeType(Long upgradeType) 
    {
        this.upgradeType = upgradeType;
    }

    public Long getUpgradeType() 
    {
        return upgradeType;
    }
    public void setTaskDesc(String taskDesc) 
    {
        this.taskDesc = taskDesc;
    }

    public String getTaskDesc() 
    {
        return taskDesc;
    }
    public void setDeviceAmount(Long deviceAmount) 
    {
        this.deviceAmount = deviceAmount;
    }

    public Long getDeviceAmount() 
    {
        return deviceAmount;
    }
    public void setDelFlag(Long delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() 
    {
        return delFlag;
    }
    public void setBookTime(Date bookTime) 
    {
        this.bookTime = bookTime;
    }

    public Date getBookTime() 
    {
        return bookTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taskName", getTaskName())
            .append("firmwareId", getFirmwareId())
            .append("upgradeType", getUpgradeType())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("taskDesc", getTaskDesc())
            .append("deviceAmount", getDeviceAmount())
            .append("delFlag", getDelFlag())
            .append("bookTime", getBookTime())
            .toString();
    }
}
